home *** CD-ROM | disk | FTP | other *** search
/ ring.yamanashi.ac.jp/pub/pc/freem/action/ / action.zip / bouken.zip / –_lŠÔ‚Ì–`Œ¯ / main.hsp < prev    next >
Text File  |  2011-12-02  |  8KB  |  311 lines

  1.     #include "hspdx.as"
  2.     #include "ck_joyforce.as"
  3.     
  4.     screen 0, 640, 480, 0, (ginfo_dispx-640)/2, (ginfo_dispy-480)/2
  5.     title "û_Élè╘é╠û`î»"
  6.  
  7.     es_ini 100,7,360
  8.     es_screen 640,480,32,,1,1
  9.     if stat=1 : goto *dderr1
  10.     if stat=2 : goto *dderr2
  11.  
  12.     goto *start
  13.  
  14. *dderr1
  15.     dialog "DirectXé╠Åëè·ë╗é╔Ä╕ösé╡é▄é╡é╜üB",1
  16.     end
  17. *dderr2
  18.     dialog "âXâNâèü[âôé╠Åëè·ë╗é╔Ä╕ösé╡é▄é╡é╜üB",1
  19.     end
  20. *dderr3
  21.     es_bye
  22.     wait 100
  23.     dialog "VRAMé╠ùeù╩é¬òsæ½é╡é─éóé▄é╖üB",1
  24.     end
  25.  
  26. *pushkey
  27.     stick kk, 128
  28.         if kk & 128 : end
  29.     es_getfps fps
  30.     font "élér âSâVâbâN", 16, 1 : color 0, 255, 0
  31.     getkey f, 112
  32.         if f = 1 : pos 576, 456 : es_fmes "FPS "+strf("%02d",fps)
  33.     es_sync 16
  34.     await 0
  35.     return
  36.  
  37. *start
  38.     buffer 1, 320, 48 : picload "./data/title.bmp" : es_buffer 1, 0, $00ff00
  39.     buffer 2, 320, 96 : picload "./data/menu.bmp" : es_buffer 2, 0, $00ff00
  40.     buffer 3, 640, 480 : picload "./data/back.bmp" : es_buffer 3
  41.     buffer 4, 64, 32 : picload "./data/player.bmp" : es_buffer 4, 0, $00ff00
  42.     es_size 16, 32, 0, 0
  43.     es_pat 0, 0, 0, 0
  44.     es_pat 1, 16, 0, 0
  45.     es_pat 2, 32, 0, 0
  46.     es_pat 3, 48, 0, 0
  47.     es_pat 4, 64, 0, 0
  48.     buffer 5, 160, 32 : picload "./data/block.bmp" : es_buffer 5, 0, $00ff00
  49.     es_size 32, 32, 0, 0
  50.     es_pat 10, 0, 0, 0
  51.     es_pat 11, 32, 0, 0
  52.     es_pat 12, 64, 0, 0
  53.     es_pat 13, 96, 0, 0
  54.     es_pat 14, 128, 0, 0
  55.     buffer 6, 640, 96 : picload "./data/stageclear.bmp" : es_buffer 6, 0, $00ff00
  56.     buffer 7, 640, 96 : picload "./data/gameover.bmp" : es_buffer 7, 0, $00ff00
  57.     buffer 8, 640, 96 : picload "./data/GameClear.bmp" : es_buffer 8, 0, $00ff00
  58.     buffer 9, 640, 480 : picload "./data/SacredWing.bmp" : es_buffer 9, 0, $00ff00
  59.     gsel 0
  60.     
  61.     fa = 0
  62.     repeat 99
  63.     es_cls
  64.     fa += 5 : if fa > 255 : fa = 255
  65.     pos 0, 0 : es_excopy 9, 0, 0, 640, 480, 640, 480, 0, 0, 0, ESB_ALPHA, fa
  66.     gosub *pushkey
  67.     loop
  68.     repeat 51
  69.     es_cls
  70.     fa -= 5
  71.     pos 0, 0 : es_excopy 9, 0, 0, 640, 480, 640, 480, 0, 0, 0, ESB_ALPHA, fa
  72.     gosub *pushkey
  73.     loop
  74.     
  75.     dir = dirinfo(0)
  76.     chdir dir+"/data/stage"
  77.     dirlist stagelist, "*.stg", 0
  78.     stagem = stat
  79.     chdir dir
  80.     
  81.     ck_joyconfig 4, 16
  82.     ck_joyconfig 5, 16
  83.     ck_joyconfig 6, 16
  84.     ck_joyconfig 7, 16
  85.  
  86. *â^âCâgâï
  87.     bgx = 0.0 : bgy = 0.0
  88.     menu = 0
  89.         if stage > 0 : menu = 1
  90.  
  91.     fa = 255
  92.     repeat 51
  93.     es_cls
  94.     gosub *öwîi
  95.     gmode 2
  96.     pos 160, 128 : es_copy 1, 0, 0, 320, 48
  97.     pos 160, 256 : es_excopy 2, 0, 0, 320, 96, 320, 96, 0, 0, 0, ESB_ALPHA, 128
  98.     pos 160, 256+menu*32 : es_excopy 2, 0, menu*32, 320, 32
  99.     fa -= 5
  100.     es_exboxf 0, 0, 640, 480, $000000, 0, 0, 0, ESB_ALPHA, fa
  101.     gosub *pushkey
  102.     loop
  103.  
  104.     repeat
  105.     es_cls
  106.     gosub *öwîi
  107.     gmode 2
  108.     pos 160, 128 : es_copy 1, 0, 0, 320, 48
  109.     ck_joystick kk, 0
  110.         if kk = 2 : menu -= 1 {
  111.             if menu = -1 : menu = 2
  112.             if menu = 1 : if stage = 0 : menu = 0
  113.         }
  114.         if kk = 8 : menu += 1 {
  115.             if menu = 3 : menu = 0
  116.             if menu = 1 : if stage = 0 : menu = 2
  117.         }
  118.     ck_joystick kk, 16
  119.         if kk & 16 : break
  120.     pos 160, 256 : es_excopy 2, 0, 0, 320, 96, 320, 96, 0, 0, 0, ESB_ALPHA, 128
  121.     pos 160, 256+menu*32 : es_excopy 2, 0, menu*32, 320, 32
  122.     gosub *pushkey
  123.     loop
  124.     
  125.     fa = 0
  126.     repeat 51
  127.     es_cls
  128.     gosub *öwîi
  129.     gmode 2
  130.     pos 160, 128 : es_copy 1, 0, 0, 320, 48
  131.     pos 160, 256 : es_excopy 2, 0, 0, 320, 96, 320, 96, 0, 0, 0, ESB_ALPHA, 128
  132.     pos 160, 256+menu*32 : es_excopy 2, 0, menu*32, 320, 32
  133.     fa += 5
  134.     es_exboxf 0, 0, 640, 480, $000000, 0, 0, 0, ESB_ALPHA, fa
  135.     gosub *pushkey
  136.     loop
  137.     
  138.         if menu = 2 : end
  139.     mci "close bgm"
  140.     mci "open "+dirinfo(0)+"/data/BGM1.mid alias bgm type mpegvideo"
  141.         if menu = 1 : goto *âRâôâeâBâjâàü[
  142.  
  143. *âjâàü[âQü[âÇ
  144.     stage = 0
  145.     goto *âXâ^ü[âg
  146.  
  147. *âRâôâeâBâjâàü[
  148.     goto *âXâ^ü[âg
  149.  
  150. *âXâ^ü[âg
  151.     notesel stagelist
  152.     noteget stagename, stage
  153.     notesel load
  154.     noteload "./data/stage/"+stagename
  155.     dim bc, 20*15
  156.     c = 0
  157.     getstr px, load, c, ', ' : c += strsize
  158.     getstr py, load, c, ', ' : c += strsize
  159.     repeat 20*15
  160.     getstr b, load, c, ', ' : c += strsize
  161.     bc(cnt) = int(b)
  162.     loop
  163.     
  164.     mci "play bgm repeat"
  165.     mci "play bgm repeat"
  166.  
  167.     hp = 1 : clear = 0
  168.     px = int(px)*32+8 : py = int(py)*32 : pa = 0
  169.     pys = 0.0 : jump = 1
  170.     bgx = 0.0 : bgy = 0.0
  171.     
  172.     fa = 255
  173.     repeat 51
  174.     es_cls
  175.     gosub *öwîi
  176.     gosub *âvâîâCâäü[
  177.     gosub *âuâìâbâN
  178.     es_put px, py, pa
  179.     font "élér âSâVâbâN", 24, 1 : color 0, 0, 0
  180.     pos 8, 8 : es_fmes "Stage"+(stage+1)
  181.     fa -= 5
  182.     es_exboxf 0, 0, 640, 480, $000000, 0, 0, 0, ESB_ALPHA, fa
  183.     gosub *pushkey
  184.     loop
  185.  
  186.     repeat
  187.     es_cls
  188.     gosub *öwîi
  189.     gosub *âvâîâCâäü[
  190.     gosub *âuâìâbâN
  191.     es_put px, py, pa
  192.     font "élér âSâVâbâN", 24, 1 : color 0, 0, 0
  193.     pos 8, 8 : es_fmes "Stage"+(stage+1)
  194.         if hp = 0 : break
  195.         if clear = 1 : break
  196.     gosub *pushkey
  197.     loop
  198.     
  199.     a = 0
  200.     fa = 0
  201.     repeat 129
  202.     es_cls
  203.     gosub *öwîi
  204.     gosub *âuâìâbâN
  205.         if hp = 1 : es_put px, py, pa
  206.         if hp = 0 : es_put px, py+a, 4 : a -= 1
  207.     font "élér âSâVâbâN", 24, 1 : color 0, 0, 0
  208.     pos 8, 8 : es_fmes "Stage"+(stage+1)
  209.     fa += 5
  210.         if fa > 256 : fa = 256
  211.     pos 0, 192 : gmode 2
  212.         if hp = 0 : es_excopy 7, 0, 0, 640, 96, 640, 96, 0, 0, 0, ESB_ALPHA, fa
  213.         if clear = 1 : es_excopy 6, 0, 0, 640, 96, 640, 96, 0, 0, 0, ESB_ALPHA, fa
  214.     gosub *pushkey
  215.     loop
  216.     
  217.     fa = 0
  218.     repeat 51
  219.     es_cls
  220.     gosub *öwîi
  221.     gosub *âuâìâbâN
  222.         if hp = 1 : es_put px, py, pa
  223.         if hp = 0 : es_put px, py+a, 4 : a -= 1
  224.     font "élér âSâVâbâN", 24, 1 : color 0, 0, 0
  225.     pos 8, 8 : es_fmes "Stage"+(stage+1)
  226.     pos 0, 192 : gmode 2
  227.         if hp = 0 : es_copy 7, 0, 0, 640, 96
  228.         if clear = 1 : es_copy 6, 0, 0, 640, 96
  229.     fa += 5
  230.     es_exboxf 0, 0, 640, 480, $000000, 0, 0, 0, ESB_ALPHA, fa
  231.     gosub *pushkey
  232.     loop
  233.  
  234.         if hp = 0 : mci "stop bgm" : goto *â^âCâgâï
  235.         if stage = stagem-1 : mci "stop bgm" : goto *âXâ^âbâtâìü[âï
  236.     
  237.     stage += 1
  238.         if stage = stagem : stage = 0
  239.     goto *âXâ^ü[âg
  240.  
  241. *âvâîâCâäü[
  242.     pm = 0
  243.     ck_joystick kk, 15
  244.         if kk & 1 : px -= 2 : pac -= 1 : pm = 1
  245.         if kk & 4 : px += 2 : pac -= 1 : pm = 1
  246.         if kk & 1 : if kk & 4 : pm = 0
  247.         if pm = 0 : pac = 1 : pa = 0
  248.         if pac < 1 : pac = 8 : pa += 1 : if pa = 4 : pa = 0
  249.     ck_joystick kk, 16
  250.         if kk & 16 : if jump = 0 : if pys < 1 : jump = 1 : pys = -6.0
  251.     pys += 0.2 : if pys > 10.0 : pys = 10.0
  252.     py += pys
  253.         if px < 0 : px = 0
  254.         if px > 624 : px = 624
  255.         if py > 480 : hp = 0
  256.     return
  257.  
  258. *âuâìâbâN
  259.     x = 0 : y = 0
  260.     repeat 20*15
  261.     es_put x, y, 10+bc(cnt)
  262.         if bc(cnt) = 1 {
  263.             if (px+4<x+28)&(px+12>x+4)&(py+24<y+8)&(py+32>y) : py = y-32 : pys = 0.0 : jump = 0
  264.             if (px+4<x+28)&(px+12>x+4)&(py<y+32)&(py+16>y+24) : py = y+32 : pys = 0.0
  265.             if (px+4<x+16)&(px+12>x)&(py<y+28)&(py+32>y+4) : px = x-12
  266.             if (px+4<x+32)&(px+12>x+16)&(py<y+28)&(py+32>y+4) : px = x+28
  267.         }
  268.         if bc(cnt) = 2 {
  269.             if (px+4<x+28)&(px+12>x+4)&(py+24<y+16)&(py+32>y+8) : hp = 0
  270.             if (px+4<x+28)&(px+12>x+4)&(py<y+32)&(py+16>y+24) : py = y+32 : pys = 0.0
  271.             if (px+4<x+16)&(px+12>x)&(py<y+28)&(py+32>y+16) : px = x-12
  272.             if (px+4<x+32)&(px+12>x+16)&(py<y+28)&(py+32>y+16) : px = x+28
  273.         }
  274.         if bc(cnt) = 3 {
  275.             if (px+4<x+28)&(px+12>x+4)&(py+24<y+8)&(py+32>y) : py = y-32 : pys = 0.0 : jump = 0
  276.             if (px+4<x+28)&(px+12>x+4)&(py<y+24)&(py+16>y+16) : hp = 0
  277.             if (px+4<x+16)&(px+12>x)&(py<y+16)&(py+32>y+4) : px = x-12
  278.             if (px+4<x+32)&(px+12>x+16)&(py<y+16)&(py+32>y+4) : px = x+28
  279.         }
  280.         if bc(cnt) = 4 {
  281.             if (px+8<x+32)&(px+8>x)&(py+16<y+32)&(py+16>y) : clear = 1
  282.         }
  283.     x += 32 : if x = 32*20 : x = 0 : y += 32
  284.     loop
  285.     return
  286.  
  287. *öwîi
  288.     bgx -= 0.4 : if bgx < -640 : bgx += 640
  289.     bgy += 0.3 : if bgy > 0 : bgy -= 480
  290.     gmode 0
  291.     pos bgx, bgy : es_copy 3, 0, 0, 640, 480 : pos bgx+640, bgy : es_copy 3, 0, 0, 640, 480
  292.     pos bgx, bgy+480 : es_copy 3, 0, 0, 640, 480 : pos bgx+640, bgy+480 : es_copy 3, 0, 0, 640, 480
  293.     return
  294.  
  295. *âXâ^âbâtâìü[âï
  296.     x1 = 128 : x2 = 320
  297.     y = 480
  298.     repeat
  299.     es_cls
  300.     y -= 1
  301.     font "élér âSâVâbâN", 24, 1 : color 255, 255, 255
  302.     pos x1, y : es_fmes "âXâ^âbât"
  303.     pos x1, y+160 : es_fmes "èΘëµ" : pos x2 : es_fmes "mono"
  304.     pos x1, y+160+80 : es_fmes "âOâëâtâBâbâN" : pos x2 : es_fmes "mono"
  305.     pos x1, y+160+80*2 : es_fmes "ë╣èy" : pos x2 : es_fmes "mono"
  306.     pos x1, y+160+80*3 : es_fmes "âvâìâOâëâÇ" : pos x2 : es_fmes "mono"
  307.         if cnt = 480+160+80*3+24+60 : break
  308.     gosub *pushkey
  309.     loop
  310.     
  311.     goto *â^âCâgâï